# & | ^ ~ <<  >>

# 7
# 3
#  111
#  011
#  110

# 0000 0011
# 1111 1100
print(7 & 3)  # 3 与,都是1取1,其他取0
print(7 | 3)  # 7  或,有1取1,都是0取0
print(7 ^ 3)  # 4 # 相同取0,不同取1,异或

print(~3)
print(bin(3))
print(bin(-4))  # 按位取反

print(3 << 2)  # 左移1位,右边补0,左移n位,相当乘以2的n次方

print(7 >> 1)
